Debuggers are tools for developers used when coding and maintaining existing code. Existing debuggers provide many facilities to programmers, to help programmers remove existing bugs, or understand the operation of a program. One existing feature of debuggers is means of inserting what are referred to as breakpoints.
Table 1 tabulates a list of different types of breakpoints, and an indication of how they operate. Execution of the program stops at the breakpoint so that the programmer can step into the code line-by-line, or resume execution of the program as required. The programmer can determine the values of program variables at each line of code that is executed, when the breakpoint is operative.
Breakpoints are the most used feature of any debugger. Current debuggers provide many kinds of breakpoints. The debugger generally stops the program execution, depending on the type of breakpoint reached.
TABLE 1Type of BreakpointReason for Stopping Program ExecutionNormal Breakpoints:Whenever the line is reached.Storage breakpointsWhenever a specified memory location iswritten to, read or accessed.DLL load breakpointsWhenever a DLL is loaded in memory.ConditionalWhenever a condition is reached (forbreakpointsexample, the value of a variable i becomesgreater than 50)Temporary breakpointsWhenever the line is reached though, unlikenormal breakpoints, temporary breakpointsare disabled when once they have beenreached. That is, temporary breakpoints areone-time use breakpoints only.Regex-basedThese breakpoints are for functions thatbreakpointsmatch a given regular expression.